1. Field
The embodiments relate to managing queue memory structures, and more particularly to unblocked and lock-free adding and removing data structures to a queue memory structure.
2. Description of the Related Art
Many devices and systems today use queue structures for managing data structures. Most existing concurrent implementations place restrictions on managing queue structures, such as single enqueuer, dequeuer, etc. Many existing concurrent queue implementations allow concurrent enqueues and dequeues, but require using some form of Oracle® algorithms to find a head and tail of the queue structure. These algorithms are usually linear with respect to the size of the queue structure. Many of the queue structures used are unbounded. With this structure, the first-in-first-out order is established by a linked-list nature of the queue.